<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>API docs for &ldquo;pymine.api.models.Tag&rdquo;</title>
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
    <link href="apidocs.css" type="text/css" rel="stylesheet" />
    
    
  </head>
  <body>
    <h1 class="class">Class p.a.m.Tag(<a href="pymine.api.models.AbstractThing.html">AbstractThing</a>):</h1>
    <p>
      <span id="part">Part of <a href="pymine.html">pymine</a>.<a href="pymine.api.html">api</a>.<a href="pymine.api.models.html">models</a></span>
      
      <a href="classIndex.html#pymine.api.models.Tag">View In Hierarchy</a>
    </p>
    <div>
      
    </div>
    <div class="undocumented">No class docstring</div>
    
    
    <div id="splitTables">
      <table class="children sortable" id="id29">
  
  
  
  
  <tr class="class">
    
    
    <td>Class</td>
    <td><a href="pymine.api.models.Tag.Meta.html">Meta</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="pymine.api.models.Tag.html#__update_cloud_field">__update_cloud_field</a></td>
    <td><span>update the tagcloud for each member of the dictionary, since it may</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="pymine.api.models.Tag.html#__update_cloud_graph">__update_cloud_graph</a></td>
    <td><span>I could try ripping out the list of tags just once (avoiding</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="pymine.api.models.Tag.html#__expand_cloud_graph">__expand_cloud_graph</a></td>
    <td><span>This is brute-force and ignorance code but it is proof against 
loops.</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="pymine.api.models.Tag.html#delete_attribute">delete_attribute</a></td>
    <td><span>This method overrides AbstractThing.delete_attribute() and acts as</span></td>
  </tr><tr class="method">
    
    
    <td>Method</td>
    <td><a href="pymine.api.models.Tag.html#update">update</a></td>
    <td><span>This method overrides AbstractThing.update() and acts as a</span></td>
  </tr><tr class="classmethod">
    
    
    <td>Class Method</td>
    <td><a href="pymine.api.models.Tag.html#get_or_auto_tag">get_or_auto_tag</a></td>
    <td><span class="undocumented">Undocumented</span></td>
  </tr>
  
</table>
      
        <p>
          Inherited from <a href="pymine.api.models.AbstractThing.html">AbstractThing</a>:
        </p>
        <table class="children sortable" id="id30">
  
  
  
  
  <tr class="baseclassmethod">
    
    
    <td>Class Method</td>
    <td><a href="pymine.api.models.AbstractThing.html#create">create</a></td>
    <td><span>create a new Thing from a HTTPRequest, overriding with values from 
kwargs.</span></td>
  </tr><tr class="baseclassmethod">
    
    
    <td>Class Method</td>
    <td><a href="pymine.api.models.AbstractThing.html#get">get</a></td>
    <td><span>return a single model matching kwargs; expunge virtually-deleted ones; 
if none return None; if multiple, throw exception</span></td>
  </tr><tr class="baseclassmethod">
    
    
    <td>Class Method</td>
    <td><a href="pymine.api.models.AbstractThing.html#list">list</a></td>
    <td><span>return a queryset of models matching kwargs; expunge virtually-deleted 
ones</span></td>
  </tr><tr class="baseclassmethod">
    
    
    <td>Class Method</td>
    <td><a href="pymine.api.models.AbstractThing.html#execute_search_query">execute_search_query</a></td>
    <td><span>take one queryset and return another, filtered by the content of 
search_string; this version is a no-op</span></td>
  </tr><tr class="baseclassmethod">
    
    
    <td>Class Method</td>
    <td><a href="pymine.api.models.AbstractThing.html#search">search</a></td>
    <td><span>return a queryset of models matching **kwargs and search_string; expunge
virtually-deleted ones</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="pymine.api.models.AbstractThing.html#save_files_from">save_files_from</a></td>
    <td><span>stub for file-saving per instance/class; returns True if a change was 
made</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="pymine.api.models.AbstractThing.html#delete">delete</a></td>
    <td><span>gc all the fields and mark this Thing as deleted</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="pymine.api.models.AbstractThing.html#to_structure">to_structure</a></td>
    <td><span>convert this model m to a dictionary structure s (ie: s-space)</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="pymine.api.models.AbstractThing.html#get_absolute_url">get_absolute_url</a></td>
    <td><span>return a url for this object for administrative purposes</span></td>
  </tr><tr class="basemethod">
    
    
    <td>Method</td>
    <td><a href="pymine.api.models.AbstractThing.html#__unicode__">__unicode__</a></td>
    <td><span>return the canonical name of this object</span></td>
  </tr>
  
</table>
      
      
    </div>
    
    
    
    <div class="function">
        <a name="pymine.api.models.Tag.__update_cloud_field"></a>
        <a name="__update_cloud_field"></a>
        <div class="functionHeader">
        
        def __update_cloud_field(self):
        
      </div>
        <div class="functionBody">
          
          <div>update the tagcloud for each member of the dictionary, since it may have
been impacted by a change<table class="fieldTable"></table></div>
        </div>
      </div><div class="function">
        <a name="pymine.api.models.Tag.__update_cloud_graph"></a>
        <a name="__update_cloud_graph"></a>
        <div class="functionHeader">
        
        def __update_cloud_graph(self, tgraph):
        
      </div>
        <div class="functionBody">
          
          <div>I could try ripping out the list of tags just once (avoiding ~n! 
database hits) and reconstructing the graph from that, but if they change 
on disk underneath me then something nasty can happen; better to let 
caching at a lower level take the hit...<table class="fieldTable"></table></div>
        </div>
      </div><div class="function">
        <a name="pymine.api.models.Tag.__expand_cloud_graph"></a>
        <a name="__expand_cloud_graph"></a>
        <div class="functionHeader">
        
        def __expand_cloud_graph(self):
        
      </div>
        <div class="functionBody">
          
          <div>This is brute-force and ignorance code but it is proof against 
loops.<table class="fieldTable"></table></div>
        </div>
      </div><div class="function">
        <a name="pymine.api.models.Tag.delete_attribute"></a>
        <a name="delete_attribute"></a>
        <div class="functionHeader">
        @transaction.commit_on_success<br />
        def delete_attribute(self, sattr):
        
      </div>
        <div class="functionBody">
          <div class="interfaceinfo">overrides <a href="pymine.api.models.AbstractThing.html#delete_attribute">pymine.api.models.AbstractThing.delete_attribute</a></div>
          <div>This method overrides AbstractThing.delete_attribute() and acts as a 
hook to detect changes in the Tag implications that might trigger a 
recalculation of the Tag cloud.<table class="fieldTable"></table></div>
        </div>
      </div><div class="function">
        <a name="pymine.api.models.Tag.update"></a>
        <a name="update"></a>
        <div class="functionHeader">
        @transaction.commit_on_success<br />
        def update(self, r, **kwargs):
        
      </div>
        <div class="functionBody">
          <div class="interfaceinfo">overrides <a href="pymine.api.models.AbstractThing.html#update">pymine.api.models.AbstractThing.update</a></div>
          <div>This method overrides AbstractThing.update() and acts as a hook to 
detect changes in the Tag implications that might trigger a recalculation 
of the Tag cloud.</p>
<p>There is a performance impact here which needs to be considered; we 
*ought* to determine whether something has changed that would require the 
cloud to be recomputed; but maybe slightly overzealous refreshing will be 
good for a while... having flushed out a bug where an Item with no 
implications was not clouding itself, the simplicity of just recomputing 
every time is attractive, especially with the likely shallow hierarchies of
implication, if any at all...<table class="fieldTable"></table></div>
        </div>
      </div><div class="function">
        <a name="pymine.api.models.Tag.get_or_auto_tag"></a>
        <a name="get_or_auto_tag"></a>
        <div class="functionHeader">
        @classmethod<br />
        def get_or_auto_tag(klass, request, name):
        
      </div>
        <div class="functionBody">
          
          <div class="undocumented">Undocumented</div>
        </div>
      </div>
    
    <address>
      <a href="index.html">API Documentation</a> for pymine, generated by <a href="http://codespeak.net/~mwh/pydoctor/">pydoctor</a> at 2010-04-07 23:15:24.
    </address>
  </body>
</html>